package dletc.FileInputStream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * FileInputStream类的其他常用方法：
 * 
 * 	 int available()   返回流当中剩余的没有读到的字节数量。
 * 	 作用：
 * 		1.上来就可以调用 获得总的字节数量。
 * 		2.知道了字节的长度，一次多次读取数据时，创建数组长度可以就是总的字节长度。
 * 		3.这种方式不适合太大的文件，因为byte[]数组不能太大。
 * 
 * 	 long skip(long n) 跳过几个字节不读。 
 *
 */
public class FileInputStream03 {

	public static void main(String[] args) {
		
		FileInputStream fis = null;
		try {
			
			fis = new FileInputStream("A.txt");
			
			/*int available2 = fis.available();
			System.out.println("总的字节数量：" + available2); //113
			//读一个字节
			fis.read();
			//还剩几个字节没读呢？
			int available = fis.available();
			System.out.println("还剩下多少个字节没读：" + available); //112*/
			
			/*byte[] by = new byte[fis.available()];
			int read = fis.read(by);
			//不需要循环了 直接一次就出来了。
			System.out.println(new String(by));*/
			
			//skip跳过接字节不读取，这个方法也可能会用！
			fis.skip(1);
			System.out.println((char)fis.read());
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(fis != null){
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

	}

}
